package com.hb.trade.server.project.file.service;

import com.hb.core.pojo.project.file.dto.ReviewItemSecondDto;
import com.hb.core.pojo.project.file.entity.ReviewItemSecond;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 二级评审项 服务类
 * </p>
 *
 * @author tian
 * @since 2022-04-13
 */
public interface ReviewItemSecondService extends IService<ReviewItemSecond> {

    /**
     * 查询二级评审项列表
     * @author tian
     * @date 2022-4-13 11:26
     * @param reviewItemSecondDto
     * @return org.fzzn.core.model.msg.Message<java.util.List<com.hb.core.pojo.project.file.dto.ReviewItemSecondDto>>
     */
    List<ReviewItemSecondDto> selectReviewItemSecondList(ReviewItemSecondDto reviewItemSecondDto);
  /**
     * 查询二级评审项列表(重载)
     * @author tian
     * @date 2022-4-13 11:26
     * @param firstReviewItemId:一级评审id
     * @return org.fzzn.core.model.msg.Message<java.util.List<com.hb.core.pojo.project.file.dto.ReviewItemSecondDto>>
     */
    List<ReviewItemSecondDto> selectReviewItemSecondList(Long firstReviewItemId);

    /**
     *
     * @Description:根据标段id和评审大项名称查询所有的二级项
     * @Author: zhongdl
     * @Date:2022/4/21 11:36
     * @param sectionId:
     * @param firstReviewItemType:
     * @return: {@link List< ReviewItemSecondDto> }
     **/
    List<ReviewItemSecondDto> listReviewItemSecond(Long sectionId,Integer firstReviewItemType);




    /**
     * 保存，编辑二级评审项
     * @author tian
     * @date 2022-4-13 11:30
     * @param reviewItemSecondDto
     * @return java.lang.String
     */
    Long editReviewItemSecond(ReviewItemSecondDto reviewItemSecondDto);

    /**
     * 删除二级评审
     * @author tian
     * @date 2022-4-13 11:38
     * @param reviewItemSecondDto
     * @return java.lang.Boolean
     */
    Boolean deleteReviewItemSecond(ReviewItemSecondDto reviewItemSecondDto);


    /**
     * 查询二级评审项是否已经汇总
     *
     * @author tian
     * @date 2022-5-20 14:33
     * @param secondReviewItemId
     * @return java.lang.Integer
     */
    Integer countBySecondReviewItemIdAndEvaluationStatus(Long secondReviewItemId, Long sectionId);
}
